package com.linsen.erp.admin.provider.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @Description: 后台PC用户模型
 * @ProjectName: erp
 * @Package: com.linsen.erp.admin.provider.vo
 * @ClassName: PlatformUserInfo
 * @Author: zhaoyong
 * @Email: zy765203718@gmail.com
 * @Date: 2023/7/24 14:55
 * @Version: 1.0
 */
@Data
@ApiModel("后台PC用户模型")
public class SystemUserVO implements Serializable {

    @ApiModelProperty("账户id")
    private String userid;
    @ApiModelProperty("账户")
    private String username;
    @ApiModelProperty("姓名")
    private String name;
    @ApiModelProperty("部门id")
    private String deptId;
    @ApiModelProperty("角色code列表")
    private List<String> roleList;
    @ApiModelProperty("菜单权限code列表")
    private List<String> permissionList;

    @ApiModelProperty("是否是超级管理员账号：0，否；1，是")
    private Integer isSuper;
    @ApiModelProperty("是否是管理员账号：0，否；1，是")
    private Integer isAdmin;

    /**
     * 当用户身份不是管理员账号时进一步查询数据权限范围
     * 若用户绑定了多个角色，则取多个角色的数据权限范围的并集
     * 并集只关注是否存在某个角色的数据权限类型是“查看全部”
     * 若所有的角色的数据权限类型都不是“查看全部”,则根据配置获取对应范围内的部门id列表和用户id列表
     * 所有权限范围都默认包含查询自己的数据内容
     */
    @ApiModelProperty("数据权限是否包含全部：0，否；1，是")
    private Integer permissionType;
    @ApiModelProperty("数据权限自定义范围id列表-部门")
    private List<String> roleDataScopeDeptIdList;
    @ApiModelProperty("数据权限自定义范围id列表-用户")
    private List<String> roleDataScopeUserIdList;
}
